﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.Security;
using Data;
using Modelo;
using Business;


namespace GestorUnidesc
{
    public partial class Login1 : System.Web.UI.Page
    {

        UsuarioVO objUsuVO = new UsuarioVO();

        protected void Page_Load(object sender, EventArgs e)
        {

        }

        protected void btnLogar_Click(object sender, EventArgs e)
        {

            try
            {
                if (btnLogar.Text == "Entrar")
                {
                    objUsuVO.idUsuario = 0;
                    objUsuVO.loginUsuario = txtLoginUsuario.Text;
                    objUsuVO.senhaUsuario = FormsAuthentication.HashPasswordForStoringInConfigFile(txtSenhaUsuario.Text.Trim(), "md5");
                    objUsuVO = new UsuarioBO().AutenticarUsuario(objUsuVO);

                    if (objUsuVO.idUsuario != 0 && objUsuVO.primeiroAcesso.Equals(false))
                    {
                        Session["USUARIO"] = objUsuVO;
                        Response.Redirect("Default.aspx");
                    }
                    else if (objUsuVO.idUsuario != 0 && objUsuVO.primeiroAcesso.Equals(true))
                    {
                        pnlConfirmSenha.Visible = true;
                        btnLogar.Text = "Trocar Senha";
                        Session["IDUSUARIO"] = objUsuVO.idUsuario;
                        ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Primeiro Acesso Atualize sua Senha!');", true);
                    }
                    else
                    {
                        ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Usuário ou Senha Inválido');", true);
                    }
                }
                else if (txtSenhaUsuario.Text.Trim().Length >= 6 && txtSenhaUsuarioConfirma.Text.Trim().Length >= 6)
                {

                    if (btnLogar.Text == "Trocar Senha" && Session["IDUSUARIO"] != null)
                    {
                        objUsuVO.idUsuario = (int)Session["IDUSUARIO"];

                        if (FormsAuthentication.HashPasswordForStoringInConfigFile(txtSenhaUsuario.Text.Trim(), "md5") == FormsAuthentication.HashPasswordForStoringInConfigFile(txtSenhaUsuarioConfirma.Text.Trim(), "md5"))
                        {
                            objUsuVO = new UsuarioBO().SelectUsuario(objUsuVO.idUsuario);
                            objUsuVO.primeiroAcesso = false;
                            objUsuVO.senhaUsuario = FormsAuthentication.HashPasswordForStoringInConfigFile(txtSenhaUsuario.Text.Trim(), "md5");
                            objUsuVO = new UsuarioBO().InserirUsuario(objUsuVO);
                            Session["USUARIO"] = null;
                            Session["IDUSUARIO"] = null;
                            txtLoginUsuario.Text = "";
                            txtSenhaUsuario.Text = "";
                            txtSenhaUsuarioConfirma.Text = "";
                            pnlConfirmSenha.Visible = false;
                            btnLogar.Text = "Entrar";
                            ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Senha Atualizada com Sucesso, Efetue Login com a Nova Senha!');", true);
                        }
                        else
                        { ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Senhas Digitadas Não Conferem!');", true); }
                    }
                }
                else { ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Insira uma Senha com no minímo 6 Caracteres!');", true); }
            }
            catch (Exception) { ScriptManager.RegisterStartupScript(btnLogar, btnLogar.GetType(), "alert", "alert('Erro ao executar sua ação contate o Administrador!');", true); }
        }
    }
}